﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Runtime.Caching;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;

namespace MakeWeekConcerts.Models
{
    public class SimilarArtistsResponse
    {
        [JsonProperty("similarartists")]
        public SimilarArtists SimilarArtists { get; set; }

        public DateTime LastRefresh { get; set; }

    }

    public class SimilarArtists
    {
        public SimilarArtists()
        {
            this.Artists = new List<Artist>();
        }

        [JsonProperty("artist")]
        public List<Artist> Artists { get; set; }
    }

    public class Artist
    {
        public Artist()
        {
            this.Images = new List<ArtistImage>();
        }

        [JsonProperty("name")]
        public string Name { get; set; }

        [JsonProperty("url")]
        public string Url { get; set; }

        [JsonProperty("match")]
        public double Match { get; set; }

        [JsonProperty("image")]
        public List<ArtistImage> Images { get; set;}
    }

    public class ArtistImage
    {
        [JsonProperty("size")]
        public string Size { get; set; }

        [JsonProperty("#text")]
        public string Uri { get; set; }
    }
}